perm filename KIAUD.SAI[KI,ALS] blob sn#095831 filedate 1974-04-05 generic text, type T, neo UTF8
00100	ENTRY HEAR;
00200	BEGIN
00300	DEFINE ⊂="COMMENT";
00400	⊂ To initiate the ADC and FRECRD an utterance in file LISTEN.TMP;
00500	DEFINE CR="'15",LF="'12",CRLF="CR&LF";
00600	
00650	REQUIRE "KIPLAY.REL[KI,ALS]" LOAD_MODULE;
00700	REQUIRE "FRECRD.REL[KI,ALS]" LOAD_MODULE;
00800	REQUIRE "FIXUPA.REL[X,ALS]" LIBRARY;
00900	REQUIRE "IO.REL[X,ALS]" LIBRARY;
01000	REQUIRE "SUIO.REL[X,ALS]" LIBRARY;
01100	REQUIRE "LIB.REL[NET,NJM]" LIBRARY;
01150	EXTERNAL FORTRAN PROCEDURE KIPLAY;
01200	EXTERNAL FORTRAN PROCEDURE FRECRD;
01300	 EXTERNAL INTEGER CHAN3;
01400	INTEGER SEGNAM,PP;
01500	INTEGER ARRAY DUMMY[1:2];
01600	
01700	INTERNAL PROCEDURE HEAR;
01800	BEGIN "KIHEAR"
01900	INTEGER BRCHR,EOF; BOOLEAN ER;
02000	
02100	CLOSE(CHAN3); OPEN(CHAN3,"DSK",'10,1,1,0,0,EOF);
02200	  LOOKUP(CHAN3,"LISTEN.TMP[KI,ALS]",ER);
02300	  CLOSE(CHAN3); RENAME(CHAN3,"OLD.TMP",0,0); RELEASE(CHAN3);
02400	  ⊂ Rename old LISTEN.TMP file for safety;
02500	outstr("Start talking after the first beep and stop on second"&CRLF);
02600	 START_CODE MOVE 0,['725005000004];  '047000400110 ; END;
02700	⊂ This sounds the beep for 1 second with immediate return, so that
02800	  the ADC can be called before the speaker starts;
02900	OUTSTR("The beep should be sounding for 1 second now"&CRLF);
03000	
03100	⊂ Get segment name and detach;
03200	 START_CODE  '047000400037; MOVEM 0,SEGNAM; '047040400017; END;
03300	
03400	FRECRD(DUMMY[1]);
03500	
03600	START_CODE MOVE 0,SEGNAM; '047000400016; JFCL; END;
03700	⊂ Reattach segment;
03800	 START_CODE MOVE 0,['725005000004];  '047000400110 ; END;
03900	
04000	END "KIHEAR";
04100	
04400	
04500	INTERNAL PROCEDURE SAY(STRING UTTER);
04600	BEGIN "SAY"
04800	
04850	START_CODE MOVE 0,['325004000000]; '047000400110; END;
04900	
05000	PP←CVASC(UTTER);
05100	START_CODE '047000400037; MOVEM 0,SEGNAM; '047040400017; END;
05200	⊂ Get segment name and detach;
05300	  KIPLAY(PP,DUMMY[1]);
05400	START_CODE MOVE 0,SEGNAM; '047000400016; JFCL; END;
05500	⊂ Reattach segment so exit will be in order;
05600	END "SAY";
05700	
05800	END;